DiskSeen: Exploiting Disk Layout and Access History to Enhance I/O Prefetch
نویسندگان
چکیده
Current disk prefetch policies in major operating systems track access patterns at the level of the file abstraction. While this is useful for exploiting application-level access patterns, file-level prefetching cannot realize the full performance improvements achievable by prefetching. There are two reasons for this. First, certain prefetch opportunities can only be detected by knowing the data layout on disk, such as the contiguous layout of file metadata or data from multiple files. Second, non-sequential access of disk data (requiring disk head movement) is much slower than sequential access, and the penalty for mis-prefetching a ‘random’ block, relative to that of a sequential block, is correspondingly more costly. To overcome the inherent limitations of prefetching at the logical file level, we propose to perform prefetching directly at the level of disk layout, and in a portable way. Our technique, called DiskSeen, is intended to be supplementary to, and to work synergistically with, filelevel prefetch policies, if present. DiskSeen tracks the locations and access times of disk blocks, and based on analysis of their temporal and spatial relationships, seeks to improve the sequentiality of disk accesses and overall prefetching performance. Our implementation of the DiskSeen scheme in the Linux 2.6 kernel shows that it can significantly improve the effectiveness of prefetching, reducing execution times by 20%-53% for micro-benchmarks and real applications such as grep, CVS, and TPC-H.
منابع مشابه
Exploiting the performance gains of modern disk drives by enhancing data locality
Due to the widening performance gap between the RAM and disk drive, a large number of I/O optimization methods have been proposed and designed to alleviate the impact of the gap. One of the most effective approaches of improving disk access performance is enhancing the data locality. This is because the method could increase the hit ratio of disk cache and reduce the seek time and rotational la...
متن کاملAlgorithms for the Database Layout Problem
We present a formal analysis of the database layout problem, i.e., the problem of determining how database objects such as tables and indexes are assigned to disk drives. Optimizing this layout has a direct impact on the I/O performance of the entire system. The traditional approach of striping each object across all available disk drives is aimed at optimizing I/O parallelism; however, it is s...
متن کاملWhy Does Le System Prefetching Work?
Most le systems attempt to predict which disk blocks will be needed in the near future and prefetch them into memory; this technique can improve application throughput as much as 50%. But why? The reasons include that the disk cache comes into play, the device driver amortizes the xed cost of an I/O operation over a larger amount of data, total disk seek time can be decreased, and that programs...
متن کاملApplication-Specific File Prefetching for Multimedia Programs
This paper describes the design, implementation, and evaluation of an automatic application-specific file prefetching mechanism that is designed to improve the I/O performance of multimedia programs with complicated access patterns. The key idea of the proposed approach is to convert an application into two threads: a computation thread, which is the original program containing both computation...
متن کاملWhy does file system prefetching work?
Most le systems attempt to predict which disk blocks will be needed in the near future and prefetch them into memory; this technique can improve application throughput as much as 50%. But why? The reasons include that the disk cache comes into play, the device driver amortizes the xed cost of an I/O operation over a larger amount of data, total disk seek time can be decreased, and that programs...
متن کامل